rendernode: Take a graphene_point_t for the offset
authorBenjamin Otte <otte@redhat.com>
Sun, 19 May 2019 02:08:29 +0000 (04:08 +0200)
committerBenjamin Otte <otte@redhat.com>
Tue, 21 May 2019 04:43:59 +0000 (06:43 +0200)
... instead of 2 floats.

14 files changed:
gsk/gl/gskglrenderer.c
gsk/gskrendernode.h
gsk/gskrendernodeimpl.c
gsk/gskrendernodeparser.c
gsk/vulkan/gskvulkancolortextpipeline.c
gsk/vulkan/gskvulkancolortextpipelineprivate.h
gsk/vulkan/gskvulkanrenderpass.c
gsk/vulkan/gskvulkantextpipeline.c
gsk/vulkan/gskvulkantextpipelineprivate.h
gtk/gtksnapshot.c
gtk/inspector/recorder.c
tests/rendernode-create-tests.c
testsuite/gsk/serializedeserialize/testswitch.node
testsuite/gsk/serializedeserialize/widgetfactory.node

index 3a57fb1eef29d02040d1b767b37ba1a689a7731b..99e1cacfbead54436cc9772dc713cd5ca2aece20 100644 (file)
@@ -527,8 +527,9 @@ render_text_node (GskGLRenderer   *self,
   guint num_glyphs = gsk_text_node_get_num_glyphs (node);
   int i;
   int x_position = 0;
-  float x = gsk_text_node_get_x (node) + builder->dx;
-  float y = gsk_text_node_get_y (node) + builder->dy;
+  const graphene_point_t *offset = gsk_text_node_get_offset (node);
+  float x = offset->x + builder->dx;
+  float y = offset->y + builder->dy;
 
   /* If the font has color glyphs, we don't need to recolor anything */
   if (!force_color && font_has_color_glyphs (font))
index b1ae30785e640d0741d51fc7d68dee94cb81dd4d..1c82f2cf136a5e4019a27b931da8ff584e9a05a5 100644 (file)
@@ -292,8 +292,7 @@ GDK_AVAILABLE_IN_ALL
 GskRenderNode *         gsk_text_node_new                       (PangoFont                *font,
                                                                  PangoGlyphString         *glyphs,
                                                                  const GdkRGBA            *color,
-                                                                 float                     x,
-                                                                 float                     y);
+                                                                 const graphene_point_t   *offset);
 GDK_AVAILABLE_IN_ALL
 const PangoFont *       gsk_text_node_peek_font                 (GskRenderNode            *node);
 GDK_AVAILABLE_IN_ALL
@@ -303,9 +302,7 @@ const PangoGlyphInfo   *gsk_text_node_peek_glyphs               (GskRenderNode
 GDK_AVAILABLE_IN_ALL
 const GdkRGBA *         gsk_text_node_peek_color                (GskRenderNode            *node);
 GDK_AVAILABLE_IN_ALL
-float                   gsk_text_node_get_x                     (GskRenderNode            *node);
-GDK_AVAILABLE_IN_ALL
-float                   gsk_text_node_get_y                     (GskRenderNode            *node);
+const graphene_point_t *gsk_text_node_get_offset                (GskRenderNode            *node);
 
 GDK_AVAILABLE_IN_ALL
 GskRenderNode *         gsk_blur_node_new                       (GskRenderNode            *child,
index a5f0c03c73b34ac9e5b551a6600109db79299e38..a2082dc32693c234c892e0e173936c2e22f5d8bf 100644 (file)
@@ -3429,8 +3429,7 @@ struct _GskTextNode
   PangoFont *font;
 
   GdkRGBA color;
-  double x;
-  double y;
+  graphene_point_t offset;
 
   guint num_glyphs;
   PangoGlyphInfo glyphs[];
@@ -3464,7 +3463,7 @@ gsk_text_node_draw (GskRenderNode *node,
   cairo_save (cr);
 
   gdk_cairo_set_source_rgba (cr, &self->color);
-  cairo_translate (cr, self->x, self->y);
+  cairo_translate (cr, self->offset.x, self->offset.y);
   pango_cairo_show_glyph_string (cr, self->font, &glyphs);
 
   cairo_restore (cr);
@@ -3480,8 +3479,7 @@ gsk_text_node_diff (GskRenderNode  *node1,
 
   if (self1->font == self2->font &&
       gdk_rgba_equal (&self1->color, &self2->color) &&
-      self1->x == self2->x &&
-      self1->y == self2->y &&
+      graphene_point_equal (&self1->offset, &self2->offset) &&
       self1->num_glyphs == self2->num_glyphs)
     {
       guint i;
@@ -3523,8 +3521,7 @@ static const GskRenderNodeClass GSK_TEXT_NODE_CLASS = {
  * @font: the #PangoFont containing the glyphs
  * @glyphs: the #PangoGlyphString to render
  * @color: the foreground color to render with
- * @x: the x coordinate at which to put the baseline
- * @y: the y coordinate at wihch to put the baseline
+ * @offset: offset of the baseline
  *
  * Creates a render node that renders the given glyphs,
  * Note that @color may not be used if the font contains
@@ -3533,11 +3530,10 @@ static const GskRenderNodeClass GSK_TEXT_NODE_CLASS = {
  * Returns: (nullable): a new text node, or %NULL
  */
 GskRenderNode *
-gsk_text_node_new (PangoFont        *font,
-                   PangoGlyphString *glyphs,
-                   const GdkRGBA    *color,
-                   float             x,
-                   float             y)
+gsk_text_node_new (PangoFont              *font,
+                   PangoGlyphString       *glyphs,
+                   const GdkRGBA          *color,
+                   const graphene_point_t *offset)
 {
   GskTextNode *self;
   PangoRectangle ink_rect;
@@ -3553,14 +3549,13 @@ gsk_text_node_new (PangoFont        *font,
 
   self->font = g_object_ref (font);
   self->color = *color;
-  self->x = x;
-  self->y = y;
+  self->offset = *offset;
   self->num_glyphs = glyphs->num_glyphs;
   memcpy (self->glyphs, glyphs->glyphs, sizeof (PangoGlyphInfo) * glyphs->num_glyphs);
 
   graphene_rect_init (&self->render_node.bounds,
-                      x + ink_rect.x - 1,
-                      y + ink_rect.y - 1,
+                      offset->x + ink_rect.x - 1,
+                      offset->y + ink_rect.y - 1,
                       ink_rect.width + 2,
                       ink_rect.height + 2);
 
@@ -3607,24 +3602,14 @@ gsk_text_node_peek_glyphs (GskRenderNode *node)
   return self->glyphs;
 }
 
-float
-gsk_text_node_get_x (GskRenderNode *node)
-{
-  GskTextNode *self = (GskTextNode *) node;
-
-  g_return_val_if_fail (GSK_IS_RENDER_NODE_TYPE (node, GSK_TEXT_NODE), 0.0);
-
-  return (float)self->x;
-}
-
-float
-gsk_text_node_get_y (GskRenderNode *node)
+const graphene_point_t *
+gsk_text_node_get_offset (GskRenderNode *node)
 {
   GskTextNode *self = (GskTextNode *) node;
 
-  g_return_val_if_fail (GSK_IS_RENDER_NODE_TYPE (node, GSK_TEXT_NODE), 0.0);
+  g_return_val_if_fail (GSK_IS_RENDER_NODE_TYPE (node, GSK_TEXT_NODE), NULL);
 
-  return (float)self->y;
+  return &self->offset;
 }
 
 /*** GSK_BLUR_NODE ***/
index b9603b235e19e0f4571f0ab550837ef9d981ecb9..07e55fd7a2e8758f4eb3c9c8c0336376ecf23dd3 100644 (file)
@@ -1004,14 +1004,12 @@ static GskRenderNode *
 parse_text_node (GtkCssParser *parser)
 {
   PangoFont *font = NULL;
-  double x = 0;
-  double y = 0;
+  graphene_point_t offset = GRAPHENE_POINT_INIT (0, 0);
   GdkRGBA color = { 0, 0, 0, 1 };
   PangoGlyphString *glyphs = NULL;
   const Declaration declarations[] = {
     { "font", parse_font, clear_font, &font },
-    { "x", parse_double, NULL, &x },
-    { "y", parse_double, NULL, &y },
+    { "offset", parse_point, NULL, &offset },
     { "color", parse_color, NULL, &color },
     { "glyphs", parse_glyphs, clear_glyphs, &glyphs }
   };
@@ -1022,7 +1020,7 @@ parse_text_node (GtkCssParser *parser)
   if (!font || !glyphs)
     return NULL;
 
-  result = gsk_text_node_new (font, glyphs, &color, x, y);
+  result = gsk_text_node_new (font, glyphs, &color, &offset);
 
   g_object_unref (font);
   pango_glyph_string_free (glyphs);
@@ -1855,6 +1853,7 @@ render_node_print (Printer       *p,
       {
         const guint n_glyphs = gsk_text_node_get_num_glyphs (node);
         const PangoGlyphInfo *glyph;
+        const graphene_point_t *offset = gsk_text_node_get_offset (node);
         PangoFontDescription *desc;
         char *font_name;
         guint i;
@@ -1887,9 +1886,8 @@ render_node_print (Printer       *p,
         g_string_append_c (p->str, ';');
         g_string_append_c (p->str, '\n');
 
-        append_float_param (p, "x", gsk_text_node_get_x (node));
-        append_float_param (p, "y", gsk_text_node_get_y (node));
-
+        if (!graphene_point_equal (offset, graphene_point_zero ()))
+          append_point_param (p, "offset", offset);
 
         end_node (p);
       }
index 9770b279383407f2e5d6491470318dc7b0d0161b..a7b0ad39a78164fec37ab9a950587e3ea4d3de97 100644 (file)
@@ -100,8 +100,7 @@ gsk_vulkan_color_text_pipeline_collect_vertex_data (GskVulkanColorTextPipeline *
                                                     PangoFont                  *font,
                                                     guint                       total_glyphs,
                                                     const PangoGlyphInfo       *glyphs,
-                                                    float                       x,
-                                                    float                       y,
+                                                    const graphene_point_t     *offset,
                                                     guint                       start_glyph,
                                                     guint                       num_glyphs,
                                                     float                       scale)
@@ -132,8 +131,8 @@ gsk_vulkan_color_text_pipeline_collect_vertex_data (GskVulkanColorTextPipeline *
           instance->tex_rect[2] = glyph->tw;
           instance->tex_rect[3] = glyph->th;
 
-          instance->rect[0] = x + cx + glyph->draw_x;
-          instance->rect[1] = y + cy + glyph->draw_y;
+          instance->rect[0] = offset->x + cx + glyph->draw_x;
+          instance->rect[1] = offset->y + cy + glyph->draw_y;
           instance->rect[2] = glyph->draw_width;
           instance->rect[3] = glyph->draw_height;
 
index 2e46b1c6a884aadf85f30c99bdf23c251dcd0677..a549c25fcd56333ae7ad105253c575e72acfbca1 100644 (file)
@@ -28,8 +28,7 @@ void                    gsk_vulkan_color_text_pipeline_collect_vertex_data   (Gs
                                                                               PangoFont                      *font,
                                                                               guint                           total_glyphs,
                                                                               const PangoGlyphInfo           *glyphs,
-                                                                              float                           x,
-                                                                              float                           y,
+                                                                              const graphene_point_t         *offset,
                                                                               guint                           start_glyph,
                                                                               guint                           num_glyphs,
                                                                               float                           scale);
index fedd07a83290a24de3586b1082734a7c86d3d155..55f96456a80e39c8d9f294df2895821f59113e74 100644 (file)
@@ -1206,8 +1206,7 @@ gsk_vulkan_render_pass_collect_vertex_data (GskVulkanRenderPass *self,
                                                           gsk_text_node_get_num_glyphs (op->text.node),
                                                           gsk_text_node_peek_glyphs (op->text.node),
                                                           gsk_text_node_peek_color (op->text.node),
-                                                          gsk_text_node_get_x (op->text.node),
-                                                          gsk_text_node_get_y (op->text.node),
+                                                          gsk_text_node_get_offset (op->text.node),
                                                           op->text.start_glyph,
                                                           op->text.num_glyphs,
                                                           op->text.scale);
@@ -1225,8 +1224,7 @@ gsk_vulkan_render_pass_collect_vertex_data (GskVulkanRenderPass *self,
                                                                 (PangoFont *)gsk_text_node_peek_font (op->text.node),
                                                                 gsk_text_node_get_num_glyphs (op->text.node),
                                                                 gsk_text_node_peek_glyphs (op->text.node),
-                                                                gsk_text_node_get_x (op->text.node),
-                                                                gsk_text_node_get_y (op->text.node),
+                                                                gsk_text_node_get_offset (op->text.node),
                                                                 op->text.start_glyph,
                                                                 op->text.num_glyphs,
                                                                 op->text.scale);
index 361c53675dab17c4160d161340354f6aeda85f43..7cd85c5d9a52ff58547e8705f0c4fa6863da6590 100644 (file)
@@ -108,8 +108,7 @@ gsk_vulkan_text_pipeline_collect_vertex_data (GskVulkanTextPipeline  *pipeline,
                                               guint                   total_glyphs,
                                               const PangoGlyphInfo   *glyphs,
                                               const GdkRGBA          *color,
-                                              float                   x,
-                                              float                   y,
+                                              const graphene_point_t *offset,
                                               guint                   start_glyph,
                                               guint                   num_glyphs,
                                               float                   scale)
@@ -140,8 +139,8 @@ gsk_vulkan_text_pipeline_collect_vertex_data (GskVulkanTextPipeline  *pipeline,
           instance->tex_rect[2] = glyph->tw;
           instance->tex_rect[3] = glyph->th;
 
-          instance->rect[0] = x + cx + glyph->draw_x;
-          instance->rect[1] = y + cy + glyph->draw_y;
+          instance->rect[0] = offset->x + cx + glyph->draw_x;
+          instance->rect[1] = offset->y + cy + glyph->draw_y;
           instance->rect[2] = glyph->draw_width;
           instance->rect[3] = glyph->draw_height;
 
index 47517de03c7057dbd43073f7209179c46f8edad7..c186c4d9832bad6e84c46ea9b5c1f112d1161adf 100644 (file)
@@ -29,8 +29,7 @@ void                    gsk_vulkan_text_pipeline_collect_vertex_data   (GskVulka
                                                                         guint                           total_glyphs,
                                                                         const PangoGlyphInfo           *glyphs,
                                                                         const GdkRGBA                  *color,
-                                                                        float                           x,
-                                                                        float                           y,
+                                                                        const graphene_point_t         *offset,
                                                                         guint                           start_glyph,
                                                                         guint                           num_glyphs,
                                                                         float                           scale);
index 98d86619a3ea20527c9a5d759d5b07b006bb4a8f..592ba9bdda803af8f25876629baf38af42b281f5 100644 (file)
@@ -1724,8 +1724,7 @@ gtk_snapshot_append_text (GtkSnapshot           *snapshot,
   node = gsk_text_node_new (font,
                             glyphs,
                             color,
-                            x + dx,
-                            y + dy);
+                            &GRAPHENE_POINT_INIT (x + dx, y + dy));
   if (node == NULL)
     return;
 
index 788d96d72a91815a12adc5f3e03b01a1029f6938..0eda397f44f6e4b6367a59237b04519e8452fb0b 100644 (file)
@@ -636,8 +636,7 @@ populate_render_node_properties (GtkListStore  *store,
         const PangoGlyphInfo *glyphs = gsk_text_node_peek_glyphs (node);
         const GdkRGBA *color = gsk_text_node_peek_color (node);
         guint num_glyphs = gsk_text_node_get_num_glyphs (node);
-        float x = gsk_text_node_get_x (node);
-        float y = gsk_text_node_get_y (node);
+        const graphene_point_t *offset = gsk_text_node_get_offset (node);
         PangoFontDescription *desc;
         GString *s;
         int i;
@@ -654,7 +653,7 @@ populate_render_node_properties (GtkListStore  *store,
         add_text_row (store, "Glyphs", s->str);
         g_string_free (s, TRUE);
 
-        tmp = g_strdup_printf ("%.2f %.2f", x, y);
+        tmp = g_strdup_printf ("%.2f %.2f", offset->x, offset->y);
         add_text_row (store, "Position", tmp);
         g_free (tmp);
 
index be0c99d344e57d3acdcd4a3dbb30e7c4a3128079..c81a457169a141cc94145af40df2913f881b5a4c 100644 (file)
@@ -426,7 +426,7 @@ text (guint n)
             {
               GskRenderNode *node;
               
-              node = gsk_text_node_new (font, run->glyphs, &color, x, y);
+              node = gsk_text_node_new (font, run->glyphs, &color, &GRAPHENE_POINT_INIT (x, y));
               if (node)
                 g_ptr_array_add (nodes, node);
             }
index aca66a507bc022a803031fbcdca577be9931fe14..8f9d6147865ea44272fb457a09e801dc9b73cab9 100644 (file)
@@ -70,8 +70,7 @@ transform {
             color: rgb(46,52,54);
             font: "Cantarell 11";
             glyphs: 37 11264 0 0 1, 324 4096 0 0 1, 417 7168 0 0 1, 244 8192 0 0 1, 272 8192 0 0 1, 349 4096 0 0 1, 287 8192 0 0 1, 280 8192 0 0 1;
-            x: 145;
-            y: 18;
+            offset: 145 18;
           }
           transform: translate(56, 0);
         }
@@ -161,8 +160,7 @@ transform {
               color: rgb(46,52,54);
               font: "Cantarell 11";
               glyphs: 45 9216 0 0 1, 360 8192 0 0 1, 244 8192 0 0 1, 272 8192 0 0 1, 349 4096 0 0 1, 287 8192 0 0 1, 280 8192 0 0 1;
-              x: 147;
-              y: 18;
+              offset: 147 18;
             }
             transform: translate(56, 0);
           }
@@ -207,8 +205,7 @@ transform {
               color: rgb(46,52,54);
               font: "Cantarell 11";
               glyphs: 37 11264 0 0 1, 324 4096 0 0 1, 417 7168 0 0 1, 244 8192 0 0 1, 272 8192 0 0 1, 349 4096 0 0 1, 287 8192 0 0 1, 280 8192 0 0 1;
-              x: 145;
-              y: 18;
+              offset: 145 18;
             }
             transform: translate(56, 0);
           }
@@ -256,8 +253,7 @@ transform {
               color: rgb(46,52,54);
               font: "Cantarell 11";
               glyphs: 45 9216 0 0 1, 360 8192 0 0 1, 244 8192 0 0 1, 272 8192 0 0 1, 349 4096 0 0 1, 287 8192 0 0 1, 280 8192 0 0 1;
-              x: 147;
-              y: 18;
+              offset: 147 18;
             }
             transform: translate(56, 0);
           }
@@ -330,8 +326,7 @@ transform {
               color: rgb(46,52,54);
               font: "Cantarell 11";
               glyphs: 37 11264 0 0 1, 324 4096 0 0 1, 417 7168 0 0 1, 244 8192 0 0 1, 272 8192 0 0 1, 349 4096 0 0 1, 287 8192 0 0 1, 280 8192 0 0 1;
-              x: 123;
-              y: 18;
+              offset: 123 18;
             }
             transform: translate(78, 0);
           }
index 66dcfdf0cc85e40b0bc0a9893552e431d0b93a16..ff00fb1f8994471a6b227007bf80e8e7a33984f5 100644 (file)
@@ -80,8 +80,7 @@ transform {
                     color: rgb(46,52,54);
                     font: "Cantarell 11";
                     glyphs: 162 9216 0 0 1, 244 8192 0 0 1, 312 8192 0 0 1, 287 8192 0 0 1, 862 3072 0 0 1, 678 7168 0 0 1;
-                    x: 0;
-                    y: 17;
+                    offset: 0 17;
                   }
                   transform: translate(28, 0);
                 }
@@ -104,8 +103,7 @@ transform {
                     color: rgb(46,52,54);
                     font: "Cantarell 11";
                     glyphs: 162 9216 0 0 1, 244 8192 0 0 1, 312 8192 0 0 1, 287 8192 0 0 1, 862 3072 0 0 1, 679 8192 0 0 1;
-                    x: 0;
-                    y: 17;
+                    offset: 0 17;
                   }
                   transform: translate(28, 0);
                 }
@@ -131,8 +129,7 @@ transform {
                     color: rgb(46,52,54);
                     font: "Cantarell 11";
                     glyphs: 162 9216 0 0 1, 244 8192 0 0 1, 312 8192 0 0 1, 287 8192 0 0 1, 862 3072 0 0 1, 680 8192 0 0 1;
-                    x: 0;
-                    y: 17;
+                    offset: 0 17;
                   }
                   transform: translate(28, 0);
                 }
@@ -209,8 +206,7 @@ transform {
                         color: rgb(50,50,50);
                         font: "Cantarell 11";
                         glyphs: 273 7168 0 0 1, 370 8192 0 0 1, 358 13312 0 0 1, 272 8192 0 0 1, 370 8192 0 0 1, 272 8192 0 0 1, 370 8192 0 0 1, 472 7168 0 0 1, 287 8192 0 0 1, 360 8192 0 0 1, 430 5120 0 0 1, 409 6144 0 0 1, 473 7168 0 0 1;
-                        x: 0;
-                        y: 21;
+                        offset: 0 21;
                       }
                       clip {
                         child: container {
@@ -222,8 +218,7 @@ transform {
                             color: rgb(252,252,252);
                             font: "Cantarell 11";
                             glyphs: 273 7168 0 0 1, 370 8192 0 0 1, 358 13312 0 0 1, 272 8192 0 0 1, 370 8192 0 0 1, 272 8192 0 0 1, 370 8192 0 0 1, 472 7168 0 0 1, 287 8192 0 0 1, 360 8192 0 0 1, 430 5120 0 0 1, 409 6144 0 0 1, 473 7168 0 0 1;
-                            x: 0;
-                            y: 21;
+                            offset: 0 21;
                           }
                         }
                         clip: 0 6 101 19;
@@ -281,8 +276,7 @@ transform {
                         color: rgb(212,207,202);
                         font: "Cantarell 11";
                         glyphs: 273 7168 0 0 1, 370 8192 0 0 1, 358 13312 0 0 1, 272 8192 0 0 1, 370 8192 0 0 1, 272 8192 0 0 1, 370 8192 0 0 1, 472 7168 0 0 1, 287 8192 0 0 1, 360 8192 0 0 1, 430 5120 0 0 1, 409 6144 0 0 1, 473 7168 0 0 1;
-                        x: 0;
-                        y: 21;
+                        offset: 0 21;
                       }
                       clip: 0 0 357 32;
                     }
@@ -337,8 +331,7 @@ transform {
                       color: rgb(50,50,50);
                       font: "Cantarell 11";
                       glyphs: 30 10240 0 0 1, 349 4096 0 0 1, 324 4096 0 0 1, 273 7168 0 0 1, 345 7168 0 0 1, 862 3072 0 0 1, 324 4096 0 0 1, 273 7168 0 0 1, 370 8192 0 0 1, 360 8192 0 0 1, 862 3072 0 0 1, 430 5120 0 0 1, 370 8192 0 0 1, 862 3072 0 0 1, 273 7168 0 0 1, 319 8192 0 0 1, 244 8192 0 0 1, 360 8192 0 0 1, 312 8192 0 0 1, 287 8192 0 0 1, 862 3072 0 0 1, 358 13312 0 0 1, 370 8192 0 0 1, 280 8192 0 0 1, 287 8192 0 0 1;
-                      x: 0;
-                      y: 21;
+                      offset: 0 21;
                     }
                     opacity: 0.54902;
                   }
@@ -377,8 +370,7 @@ transform {
                     color: rgb(212,207,202);
                     font: "Cantarell 11";
                     glyphs: 287 8192 0 0 1, 360 8192 0 0 1, 430 5120 0 0 1, 409 6144 0 0 1, 473 7168 0 0 1;
-                    x: 0;
-                    y: 21;
+                    offset: 0 21;
                   }
                   clip: 0 0 392 32;
                 }
@@ -406,8 +398,7 @@ transform {
                         color: rgb(50,50,50);
                         font: "Cantarell 11";
                         glyphs: 287 8192 0 0 1, 360 8192 0 0 1, 430 5120 0 0 1, 409 6144 0 0 1, 473 7168 0 0 1;
-                        x: 0;
-                        y: 22;
+                        offset: 0 22;
                       }
                       clip: 0 0 357 33;
                     }
@@ -463,8 +454,7 @@ transform {
                         color: rgb(146,149,149);
                         font: "Cantarell 11";
                         glyphs: 103 8192 0 0 1, 287 8192 0 0 1, 311 5120 0 0 1, 430 5120 0 0 1;
-                        x: 2;
-                        y: 17;
+                        offset: 2 17;
                       }
                       transform {
                         child: color-matrix {
@@ -498,8 +488,7 @@ transform {
                           color: rgb(146,149,149);
                           font: "Cantarell 11";
                           glyphs: 113 13312 0 0 1, 324 4096 0 0 1, 280 8192 0 0 1, 280 8192 0 0 1, 349 4096 0 0 1, 287 8192 0 0 1;
-                          x: 2;
-                          y: 17;
+                          offset: 2 17;
                         }
                         transform {
                           child: color-matrix {
@@ -538,8 +527,7 @@ transform {
                           color: rgb(146,149,149);
                           font: "Cantarell 11";
                           glyphs: 165 9216 0 0 1, 324 4096 0 0 1, 312 8192 0 0 1, 319 8192 0 0 1, 430 5120 0 0 1;
-                          x: 2;
-                          y: 17;
+                          offset: 2 17;
                         }
                         transform {
                           child: color-matrix {
@@ -567,16 +555,14 @@ transform {
                   color: rgb(146,149,149);
                   font: "Cantarell 11";
                   glyphs: 349 4096 0 0 1, 244 8192 0 0 1, 272 8192 0 0 1, 287 8192 0 0 1, 349 4096 0 0 1;
-                  x: 0;
-                  y: 22;
+                  offset: 0 22;
                 }
                 transform {
                   child: text {
                     color: rgb(212,207,202);
                     font: "Cantarell 11";
                     glyphs: 349 4096 0 0 1, 244 8192 0 0 1, 272 8192 0 0 1, 287 8192 0 0 1, 349 4096 0 0 1;
-                    x: 0;
-                    y: 22;
+                    offset: 0 22;
                   }
                   transform: translate(52, 0);
                 }
@@ -600,8 +586,7 @@ transform {
                           color: rgb(50,50,50);
                           font: "Cantarell 11";
                           glyphs: 682 8192 0 0 1, 677 9216 0 0 1;
-                          x: 0;
-                          y: 15;
+                          offset: 0 15;
                         }
                         transform: translate(6, 6);
                       }
@@ -665,8 +650,7 @@ transform {
                           color: rgb(212,207,202);
                           font: "Cantarell 11";
                           glyphs: 677 9216 0 0 1;
-                          x: 0;
-                          y: 15;
+                          offset: 0 15;
                         }
                         transform: translate(6, 6);
                       }
@@ -755,8 +739,7 @@ transform {
                         color: rgb(146,149,149);
                         font: "Cantarell 11";
                         glyphs: 273 7168 0 0 1, 319 8192 0 0 1, 287 8192 0 0 1, 273 7168 0 0 1, 345 7168 0 0 1, 272 8192 0 0 1, 438 8192 0 0 1, 430 5120 0 0 1, 430 5120 0 0 1, 370 8192 0 0 1, 360 8192 0 0 1;
-                        x: 0;
-                        y: 15;
+                        offset: 0 15;
                       }
                       transform: translate(24, 0);
                     }
@@ -784,8 +767,7 @@ transform {
                         color: rgb(146,149,149);
                         font: "Cantarell 11";
                         glyphs: 273 7168 0 0 1, 319 8192 0 0 1, 287 8192 0 0 1, 273 7168 0 0 1, 345 7168 0 0 1, 272 8192 0 0 1, 438 8192 0 0 1, 430 5120 0 0 1, 430 5120 0 0 1, 370 8192 0 0 1, 360 8192 0 0 1;
-                        x: 0;
-                        y: 15;
+                        offset: 0 15;
                       }
                       transform: translate(24, 0);
                     }
@@ -821,8 +803,7 @@ transform {
                         color: rgb(146,149,149);
                         font: "Cantarell 11";
                         glyphs: 273 7168 0 0 1, 319 8192 0 0 1, 287 8192 0 0 1, 273 7168 0 0 1, 345 7168 0 0 1, 272 8192 0 0 1, 438 8192 0 0 1, 430 5120 0 0 1, 430 5120 0 0 1, 370 8192 0 0 1, 360 8192 0 0 1;
-                        x: 0;
-                        y: 15;
+                        offset: 0 15;
                       }
                       transform: translate(24, 0);
                     }
@@ -858,8 +839,7 @@ transform {
                         color: rgb(212,207,202);
                         font: "Cantarell 11";
                         glyphs: 273 7168 0 0 1, 319 8192 0 0 1, 287 8192 0 0 1, 273 7168 0 0 1, 345 7168 0 0 1, 272 8192 0 0 1, 438 8192 0 0 1, 430 5120 0 0 1, 430 5120 0 0 1, 370 8192 0 0 1, 360 8192 0 0 1;
-                        x: 0;
-                        y: 15;
+                        offset: 0 15;
                       }
                       transform: translate(24, 0);
                     }
@@ -887,8 +867,7 @@ transform {
                         color: rgb(212,207,202);
                         font: "Cantarell 11";
                         glyphs: 273 7168 0 0 1, 319 8192 0 0 1, 287 8192 0 0 1, 273 7168 0 0 1, 345 7168 0 0 1, 272 8192 0 0 1, 438 8192 0 0 1, 430 5120 0 0 1, 430 5120 0 0 1, 370 8192 0 0 1, 360 8192 0 0 1;
-                        x: 0;
-                        y: 15;
+                        offset: 0 15;
                       }
                       transform: translate(24, 0);
                     }
@@ -924,8 +903,7 @@ transform {
                         color: rgb(212,207,202);
                         font: "Cantarell 11";
                         glyphs: 273 7168 0 0 1, 319 8192 0 0 1, 287 8192 0 0 1, 273 7168 0 0 1, 345 7168 0 0 1, 272 8192 0 0 1, 438 8192 0 0 1, 430 5120 0 0 1, 430 5120 0 0 1, 370 8192 0 0 1, 360 8192 0 0 1;
-                        x: 0;
-                        y: 15;
+                        offset: 0 15;
                       }
                       transform: translate(24, 0);
                     }
@@ -956,8 +934,7 @@ transform {
                         color: rgb(146,149,149);
                         font: "Cantarell 11";
                         glyphs: 409 6144 0 0 1, 244 8192 0 0 1, 280 8192 0 0 1, 324 4096 0 0 1, 370 8192 0 0 1, 272 8192 0 0 1, 438 8192 0 0 1, 430 5120 0 0 1, 430 5120 0 0 1, 370 8192 0 0 1, 360 8192 0 0 1;
-                        x: 0;
-                        y: 15;
+                        offset: 0 15;
                       }
                       transform: translate(24, 0);
                     }
@@ -988,8 +965,7 @@ transform {
                         color: rgb(146,149,149);
                         font: "Cantarell 11";
                         glyphs: 409 6144 0 0 1, 244 8192 0 0 1, 280 8192 0 0 1, 324 4096 0 0 1, 370 8192 0 0 1, 272 8192 0 0 1, 438 8192 0 0 1, 430 5120 0 0 1, 430 5120 0 0 1, 370 8192 0 0 1, 360 8192 0 0 1;
-                        x: 0;
-                        y: 15;
+                        offset: 0 15;
                       }
                       transform: translate(24, 0);
                     }
@@ -1028,8 +1004,7 @@ transform {
                         color: rgb(146,149,149);
                         font: "Cantarell 11";
                         glyphs: 409 6144 0 0 1, 244 8192 0 0 1, 280 8192 0 0 1, 324 4096 0 0 1, 370 8192 0 0 1, 272 8192 0 0 1, 438 8192 0 0 1, 430 5120 0 0 1, 430 5120 0 0 1, 370 8192 0 0 1, 360 8192 0 0 1;
-                        x: 0;
-                        y: 15;
+                        offset: 0 15;
                       }
                       transform: translate(24, 0);
                     }
@@ -1068,8 +1043,7 @@ transform {
                         color: rgb(212,207,202);
                         font: "Cantarell 11";
                         glyphs: 409 6144 0 0 1, 244 8192 0 0 1, 280 8192 0 0 1, 324 4096 0 0 1, 370 8192 0 0 1, 272 8192 0 0 1, 438 8192 0 0 1, 430 5120 0 0 1, 430 5120 0 0 1, 370 8192 0 0 1, 360 8192 0 0 1;
-                        x: 0;
-                        y: 15;
+                        offset: 0 15;
                       }
                       transform: translate(24, 0);
                     }
@@ -1100,8 +1074,7 @@ transform {
                         color: rgb(212,207,202);
                         font: "Cantarell 11";
                         glyphs: 409 6144 0 0 1, 244 8192 0 0 1, 280 8192 0 0 1, 324 4096 0 0 1, 370 8192 0 0 1, 272 8192 0 0 1, 438 8192 0 0 1, 430 5120 0 0 1, 430 5120 0 0 1, 370 8192 0 0 1, 360 8192 0 0 1;
-                        x: 0;
-                        y: 15;
+                        offset: 0 15;
                       }
                       transform: translate(24, 0);
                     }
@@ -1140,8 +1113,7 @@ transform {
                         color: rgb(212,207,202);
                         font: "Cantarell 11";
                         glyphs: 409 6144 0 0 1, 244 8192 0 0 1, 280 8192 0 0 1, 324 4096 0 0 1, 370 8192 0 0 1, 272 8192 0 0 1, 438 8192 0 0 1, 430 5120 0 0 1, 430 5120 0 0 1, 370 8192 0 0 1, 360 8192 0 0 1;
-                        x: 0;
-                        y: 15;
+                        offset: 0 15;
                       }
                       transform: translate(24, 0);
                     }
@@ -1210,8 +1182,7 @@ transform {
                     color: rgb(146,149,149);
                     font: "Cantarell 11";
                     glyphs: 430 5120 0 0 1, 370 8192 0 0 1, 312 8192 0 0 1, 312 8192 0 0 1, 349 4096 0 0 1, 287 8192 0 0 1, 272 8192 0 0 1, 438 8192 0 0 1, 430 5120 0 0 1, 430 5120 0 0 1, 370 8192 0 0 1, 360 8192 0 0 1;
-                    x: 2;
-                    y: 17;
+                    offset: 2 17;
                   }
                 }
                 transform: translate(17, 5);
@@ -1234,8 +1205,7 @@ transform {
                     color: rgb(212,207,202);
                     font: "Cantarell 11";
                     glyphs: 430 5120 0 0 1, 370 8192 0 0 1, 312 8192 0 0 1, 312 8192 0 0 1, 349 4096 0 0 1, 287 8192 0 0 1, 272 8192 0 0 1, 438 8192 0 0 1, 430 5120 0 0 1, 430 5120 0 0 1, 370 8192 0 0 1, 360 8192 0 0 1;
-                    x: 2;
-                    y: 17;
+                    offset: 2 17;
                   }
                 }
                 transform: translate(0, 44) translate(17, 5);
@@ -1258,8 +1228,7 @@ transform {
                     color: rgb(146,149,149);
                     font: "Cantarell 11";
                     glyphs: 430 5120 0 0 1, 370 8192 0 0 1, 312 8192 0 0 1, 312 8192 0 0 1, 349 4096 0 0 1, 287 8192 0 0 1, 272 8192 0 0 1, 438 8192 0 0 1, 430 5120 0 0 1, 430 5120 0 0 1, 370 8192 0 0 1, 360 8192 0 0 1;
-                    x: 2;
-                    y: 17;
+                    offset: 2 17;
                   }
                 }
                 transform: translate(0, 88) translate(17, 5);
@@ -1282,8 +1251,7 @@ transform {
                     color: rgb(212,207,202);
                     font: "Cantarell 11";
                     glyphs: 430 5120 0 0 1, 370 8192 0 0 1, 312 8192 0 0 1, 312 8192 0 0 1, 349 4096 0 0 1, 287 8192 0 0 1, 272 8192 0 0 1, 438 8192 0 0 1, 430 5120 0 0 1, 430 5120 0 0 1, 370 8192 0 0 1, 360 8192 0 0 1;
-                    x: 2;
-                    y: 17;
+                    offset: 2 17;
                   }
                 }
                 transform: translate(0, 132) translate(17, 5);
@@ -1308,8 +1276,7 @@ transform {
                         color: rgb(146,149,149);
                         font: "Cantarell 11";
                         glyphs: 1 10240 0 0 1, 360 8192 0 0 1, 280 8192 0 0 1, 409 6144 0 0 1, 287 8192 0 0 1, 244 8192 0 0 1;
-                        x: 2;
-                        y: 17;
+                        offset: 2 17;
                       }
                       transform {
                         child: color-matrix {
@@ -1348,8 +1315,7 @@ transform {
                         color: rgb(212,207,202);
                         font: "Cantarell 11";
                         glyphs: 126 11264 0 0 1, 430 5120 0 0 1, 430 5120 0 0 1, 370 8192 0 0 1;
-                        x: 2;
-                        y: 17;
+                        offset: 2 17;
                       }
                       transform {
                         child: color-matrix {
@@ -1388,8 +1354,7 @@ transform {
                         color: rgb(146,149,149);
                         font: "Cantarell 11";
                         glyphs: 173 9216 0 0 1, 244 8192 0 0 1, 360 8192 0 0 1, 417 7168 0 0 1, 862 3072 0 0 1, 165 9216 0 0 1, 287 8192 0 0 1, 312 8192 0 0 1, 438 8192 0 0 1, 349 4096 0 0 1, 244 8192 0 0 1, 409 6144 0 0 1;
-                        x: 0;
-                        y: 17;
+                        offset: 0 17;
                       }
                       transform {
                         child: transform {
@@ -1397,8 +1362,7 @@ transform {
                             color: rgb(146,149,149);
                             font: "Cantarell Bold 11";
                             glyphs: 678 7168 0 0 1, 679 8192 0 0 1;
-                            x: 0;
-                            y: 17;
+                            offset: 0 17;
                           }
                           transform: translate(1, 0);
                         }
@@ -1465,8 +1429,7 @@ transform {
                           color: rgb(146,149,149);
                           font: "Cantarell 11";
                           glyphs: 822 4096 0 0 1, 115 11264 0 0 1, 370 8192 0 0 1, 360 8192 0 0 1, 287 8192 0 0 1, 823 4096 0 0 1;
-                          x: 0;
-                          y: 17;
+                          offset: 0 17;
                         }
                         transform: translate(16, 0);
                       }
@@ -1493,8 +1456,7 @@ transform {
                     color: rgb(53,132,228);
                     font: "Cantarell 11";
                     glyphs: 349 4096 0 0 1, 324 4096 0 0 1, 360 8192 0 0 1, 345 7168 0 0 1, 862 3072 0 0 1, 272 8192 0 0 1, 438 8192 0 0 1, 430 5120 0 0 1, 430 5120 0 0 1, 370 8192 0 0 1, 360 8192 0 0 1;
-                    x: 10;
-                    y: 17;
+                    offset: 10 17;
                   }
                   color {
                     bounds: 10 19 68 1;
@@ -1656,8 +1618,7 @@ transform {
                         color: rgba(46,52,54,0.4);
                         font: "Cantarell 9.1669921875";
                         glyphs: 682 7168 0 0 1, 677 8192 0 0 1, 859 1024 0 0 1, 919 12288 0 0 1;
-                        x: 0;
-                        y: 13;
+                        offset: 0 13;
                       }
                       transform: translate(237, 0);
                     }
@@ -2070,8 +2031,7 @@ transform {
                             color: rgba(146,149,149,0.55);
                             font: "Cantarell 11";
                             glyphs: 682 8192 0 0 1, 677 9216 0 0 1, 805 4096 0 0 1, 677 9216 0 0 1;
-                            x: 26;
-                            y: 15;
+                            offset: 26 15;
                           }
                           transform {
                             child: container {
@@ -2130,8 +2090,7 @@ transform {
                             color: rgba(146,149,149,0.55);
                             font: "Cantarell 11";
                             glyphs: 682 8192 0 0 1, 677 9216 0 0 1, 805 4096 0 0 1, 677 9216 0 0 1;
-                            x: 26;
-                            y: 15;
+                            offset: 26 15;
                           }
                           transform {
                             child: container {
@@ -2199,8 +2158,7 @@ transform {
                     color: rgb(146,149,149);
                     font: "Cantarell Bold 11";
                     glyphs: 81 4096 0 0 1, 360 8192 0 0 1, 417 7168 0 0 1, 287 8192 0 0 1, 430 6144 0 0 1;
-                    x: 0;
-                    y: 15;
+                    offset: 0 15;
                   }
                 }
                 transform: translate(1, 1);
@@ -2216,8 +2174,7 @@ transform {
                     color: rgb(146,149,149);
                     font: "Cantarell Bold 11";
                     glyphs: 126 11264 0 0 1, 438 8192 0 0 1, 430 6144 0 0 1, 417 7168 0 0 1, 287 8192 0 0 1, 430 6144 0 0 1;
-                    x: 0;
-                    y: 15;
+                    offset: 0 15;
                   }
                 }
                 transform: translate(0, 141) translate(1, 1);
@@ -2245,8 +2202,7 @@ transform {
                     color: rgb(146,149,149);
                     font: "Cantarell Bold 11";
                     glyphs: 69 11264 0 0 1, 409 6144 0 0 1, 370 8192 0 0 1, 370 8192 0 0 1, 466 7168 0 0 1, 287 8192 0 0 1;
-                    x: 0;
-                    y: 15;
+                    offset: 0 15;
                   }
                 }
                 transform: translate(0, 282) translate(2, 2);
@@ -2274,8 +2230,7 @@ transform {
                     color: rgb(146,149,149);
                     font: "Cantarell Bold 11";
                     glyphs: 165 10240 0 0 1, 324 4096 0 0 1, 280 8192 0 0 1, 312 8192 0 0 1, 287 8192 0 0 1;
-                    x: 0;
-                    y: 15;
+                    offset: 0 15;
                   }
                 }
                 transform: translate(0, 423) translate(2, 2);
@@ -2367,8 +2322,7 @@ transform {
                             color: rgb(50,50,50);
                             font: "Cantarell 11";
                             glyphs: 1 10240 0 0 1, 360 8192 0 0 1, 280 8192 0 0 1, 409 6144 0 0 1, 287 8192 0 0 1, 244 8192 0 0 1;
-                            x: 86;
-                            y: 42;
+                            offset: 86 42;
                           }
                           color {
                             bounds: 153 25 60 23;
@@ -2378,8 +2332,7 @@ transform {
                             color: rgb(50,50,50);
                             font: "Cantarell 11";
                             glyphs: 30 10240 0 0 1, 324 4096 0 0 1, 358 13312 0 0 1, 324 4096 0 0 1;
-                            x: 157;
-                            y: 42;
+                            offset: 157 42;
                           }
                           color {
                             bounds: 0 48 42 23;
@@ -2425,8 +2378,7 @@ transform {
                             color: rgb(50,50,50);
                             font: "Cantarell 11";
                             glyphs: 126 11264 0 0 1, 430 5120 0 0 1, 430 5120 0 0 1, 370 8192 0 0 1;
-                            x: 86;
-                            y: 65;
+                            offset: 86 65;
                           }
                           color {
                             bounds: 153 48 60 23;
@@ -2436,8 +2388,7 @@ transform {
                             color: rgb(50,50,50);
                             font: "Cantarell 11";
                             glyphs: 273 7168 0 0 1, 319 8192 0 0 1, 244 8192 0 0 1, 370 8192 0 0 1, 430 5120 0 0 1, 324 4096 0 0 1, 273 7168 0 0 1;
-                            x: 157;
-                            y: 65;
+                            offset: 157 65;
                           }
                           color {
                             bounds: 0 71 42 23;
@@ -2491,8 +2442,7 @@ transform {
                             color: rgb(50,50,50);
                             font: "Cantarell 11";
                             glyphs: 126 11264 0 0 1, 409 6144 0 0 1, 466 7168 0 0 1, 324 4096 0 0 1, 349 4096 0 0 1, 349 4096 0 0 1, 287 8192 0 0 1;
-                            x: 86;
-                            y: 88;
+                            offset: 86 88;
                           }
                           color {
                             bounds: 153 71 60 23;
@@ -2503,15 +2453,13 @@ transform {
                               color: rgb(50,50,50);
                               font: "Cantarell 11";
                               glyphs: 165 9216 0 0 1, 287 8192 0 0 1, 280 8192 0 0 1, 287 8192 0 0 1, 360 8192 0 0 1;
-                              x: 157;
-                              y: 88;
+                              offset: 157 88;
                             }
                             text {
                               color: rgb(50,50,50);
                               font: "Cantarell 11";
                               glyphs: 809 10240 0 0 1;
-                              x: 198;
-                              y: 88;
+                              offset: 198 88;
                             }
                           }
                           color {
@@ -2569,8 +2517,7 @@ transform {
                             color: rgb(50,50,50);
                             font: "Cantarell 11";
                             glyphs: 29 10240 0 0 1, 287 8192 0 0 1, 360 8192 0 0 1, 341 4096 0 0 1, 244 8192 0 0 1, 358 13312 0 0 1, 324 4096 0 0 1, 360 8192 0 0 1;
-                            x: 86;
-                            y: 111;
+                            offset: 86 111;
                           }
                           color {
                             bounds: 153 94 60 23;
@@ -2581,15 +2528,13 @@ transform {
                               color: rgb(50,50,50);
                               font: "Cantarell 11";
                               glyphs: 30 10240 0 0 1, 370 8192 0 0 1, 358 13312 0 0 1, 406 8192 0 0 1;
-                              x: 157;
-                              y: 111;
+                              offset: 157 111;
                             }
                             text {
                               color: rgb(50,50,50);
                               font: "Cantarell 11";
                               glyphs: 809 10240 0 0 1;
-                              x: 196;
-                              y: 111;
+                              offset: 196 111;
                             }
                           }
                         }
@@ -2612,8 +2557,7 @@ transform {
                                 color: rgb(146,149,149);
                                 font: "Cantarell Bold 11";
                                 glyphs: 30 9216 0 0 1, 370 8192 0 0 1, 370 8192 0 0 1, 349 4096 0 0 1;
-                                x: 0;
-                                y: 17;
+                                offset: 0 17;
                               }
                             }
                             transform: translate(6, 0);
@@ -2633,8 +2577,7 @@ transform {
                                 color: rgb(146,149,149);
                                 font: "Cantarell Bold 11";
                                 glyphs: 81 4096 0 0 1, 273 7168 0 0 1, 370 8192 0 0 1, 360 8192 0 0 1;
-                                x: 0;
-                                y: 17;
+                                offset: 0 17;
                               }
                             }
                             transform: translate(42, 0) translate(6, 0);
@@ -2654,8 +2597,7 @@ transform {
                                 color: rgb(146,149,149);
                                 font: "Cantarell Bold 11";
                                 glyphs: 115 11264 0 0 1, 244 8192 0 0 1, 358 13312 0 0 1, 287 8192 0 0 1;
-                                x: 0;
-                                y: 17;
+                                offset: 0 17;
                               }
                             }
                             transform: translate(82, 0) translate(6, 0);
@@ -2675,8 +2617,7 @@ transform {
                                 color: rgb(146,149,149);
                                 font: "Cantarell Bold 11";
                                 glyphs: 115 11264 0 0 1, 324 4096 0 0 1, 273 7168 0 0 1, 345 8192 0 0 1;
-                                x: 0;
-                                y: 17;
+                                offset: 0 17;
                               }
                             }
                             transform: translate(153, 0) translate(6, 0);
@@ -2753,8 +2694,7 @@ transform {
                               color: rgb(146,149,149);
                               font: "Cantarell Bold 11";
                               glyphs: 406 8192 0 0 1, 244 8192 0 0 1, 312 8192 0 0 1, 287 8192 0 0 1, 862 3072 0 0 1, 680 8192 0 0 1;
-                              x: 0;
-                              y: 20;
+                              offset: 0 20;
                             }
                             transform: translate(149, 0) translate(16, 3);
                           }
@@ -2763,8 +2703,7 @@ transform {
                               color: rgb(146,149,149);
                               font: "Cantarell Bold 11";
                               glyphs: 406 8192 0 0 1, 244 8192 0 0 1, 312 8192 0 0 1, 287 8192 0 0 1, 862 3072 0 0 1, 679 8192 0 0 1;
-                              x: 0;
-                              y: 20;
+                              offset: 0 20;
                             }
                             transform: translate(74, 0) translate(16, 3);
                           }
@@ -2782,8 +2721,7 @@ transform {
                                 color: rgb(146,149,149);
                                 font: "Cantarell Bold 11";
                                 glyphs: 406 8192 0 0 1, 244 8192 0 0 1, 312 8192 0 0 1, 287 8192 0 0 1, 862 3072 0 0 1, 678 7168 0 0 1;
-                                x: 0;
-                                y: 20;
+                                offset: 0 20;
                               }
                             }
                             transform: translate(16, 3);
@@ -2835,8 +2773,7 @@ transform {
                               color: rgb(146,149,149);
                               font: "Cantarell Bold 11";
                               glyphs: 406 8192 0 0 1, 244 8192 0 0 1, 312 8192 0 0 1, 287 8192 0 0 1, 862 3072 0 0 1, 680 8192 0 0 1;
-                              x: 0;
-                              y: 20;
+                              offset: 0 20;
                             }
                             transform: translate(0, 88) translate(12, 7);
                           }
@@ -2845,8 +2782,7 @@ transform {
                               color: rgb(146,149,149);
                               font: "Cantarell Bold 11";
                               glyphs: 406 8192 0 0 1, 244 8192 0 0 1, 312 8192 0 0 1, 287 8192 0 0 1, 862 3072 0 0 1, 679 8192 0 0 1;
-                              x: 0;
-                              y: 20;
+                              offset: 0 20;
                             }
                             transform: translate(0, 44) translate(12, 7);
                           }
@@ -2864,8 +2800,7 @@ transform {
                                 color: rgb(146,149,149);
                                 font: "Cantarell Bold 11";
                                 glyphs: 406 8192 0 0 1, 244 8192 0 0 1, 312 8192 0 0 1, 287 8192 0 0 1, 862 3072 0 0 1, 678 7168 0 0 1;
-                                x: 0;
-                                y: 20;
+                                offset: 0 20;
                               }
                             }
                             transform: translate(12, 7);
@@ -2910,8 +2845,7 @@ transform {
                               color: rgb(146,149,149);
                               font: "Cantarell Bold 11";
                               glyphs: 406 8192 0 0 1, 244 8192 0 0 1, 312 8192 0 0 1, 287 8192 0 0 1, 862 3072 0 0 1, 680 8192 0 0 1;
-                              x: 0;
-                              y: 20;
+                              offset: 0 20;
                             }
                             transform: translate(149, 0) translate(16, 4);
                           }
@@ -2920,8 +2854,7 @@ transform {
                               color: rgb(146,149,149);
                               font: "Cantarell Bold 11";
                               glyphs: 406 8192 0 0 1, 244 8192 0 0 1, 312 8192 0 0 1, 287 8192 0 0 1, 862 3072 0 0 1, 679 8192 0 0 1;
-                              x: 0;
-                              y: 20;
+                              offset: 0 20;
                             }
                             transform: translate(74, 0) translate(16, 4);
                           }
@@ -2939,8 +2872,7 @@ transform {
                                 color: rgb(146,149,149);
                                 font: "Cantarell Bold 11";
                                 glyphs: 406 8192 0 0 1, 244 8192 0 0 1, 312 8192 0 0 1, 287 8192 0 0 1, 862 3072 0 0 1, 678 7168 0 0 1;
-                                x: 0;
-                                y: 20;
+                                offset: 0 20;
                               }
                             }
                             transform: translate(16, 4);
@@ -2981,8 +2913,7 @@ transform {
                               color: rgb(146,149,149);
                               font: "Cantarell Bold 11";
                               glyphs: 406 8192 0 0 1, 244 8192 0 0 1, 312 8192 0 0 1, 287 8192 0 0 1, 862 3072 0 0 1, 680 8192 0 0 1;
-                              x: 0;
-                              y: 20;
+                              offset: 0 20;
                             }
                             transform: translate(0, 88) translate(12, 7);
                           }
@@ -2991,8 +2922,7 @@ transform {
                               color: rgb(146,149,149);
                               font: "Cantarell Bold 11";
                               glyphs: 406 8192 0 0 1, 244 8192 0 0 1, 312 8192 0 0 1, 287 8192 0 0 1, 862 3072 0 0 1, 679 8192 0 0 1;
-                              x: 0;
-                              y: 20;
+                              offset: 0 20;
                             }
                             transform: translate(0, 44) translate(12, 7);
                           }
@@ -3010,8 +2940,7 @@ transform {
                                 color: rgb(146,149,149);
                                 font: "Cantarell Bold 11";
                                 glyphs: 406 8192 0 0 1, 244 8192 0 0 1, 312 8192 0 0 1, 287 8192 0 0 1, 862 3072 0 0 1, 678 7168 0 0 1;
-                                x: 0;
-                                y: 20;
+                                offset: 0 20;
                               }
                             }
                             transform: translate(12, 7);